/**
 * @file HC05.c
 * @author Pierre (1034827308@qq.com)
 * @date 2024-05-03
 * @brief 
 */
#include "HC05.h"
//P30接HC05的TXD
//P31接HC05的RXD

unsigned char Get_Data_From_User;
unsigned char warn;
/**
 * @brief 蓝牙返回数据选择模式以及调色调亮百分比参数
 * @param  hc05_mode
 *        @arg 0  关灯模式
 *        @arg 1  开灯模式
 *        @arg 2  调节色温模式
 *        @arg 3  调节亮度模式
 * @param color_mode   色温百分比参数
 * @param light_mode	亮度百分比参数
 */

/*系统初始化
*/
void HC05_init(void)		//9600bps@11.0592MHz
{
	SCON = 0x50;		//8位数据,可变波特率
	AUXR |= 0x40;		//定时器时钟1T模式
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//设置定时器模式
	TL1 = 0xE0;		//设置定时初始值
	TH1 = 0xFE;		//设置定时初始值
	ET1 = 0;		//禁止定时器%d中断
	TR1 = 1;		//定时器1开始计时
    ES = 1;         //打开串口1中断
    EA = 1;         //打开总中断
}

/**
 * @brief 单片机向用户发送数据
 * 
 * @param byte 
 */
void HC05_send_date(unsigned char byte)//发送hex字符
{
	SBUF = byte;
    while(TI==0);			   	    //发送完会自动置1
    TI=0;							//手动清零
}


/* 选择进入不同模式 */  
unsigned char mode(unsigned char HC05_data)
{
	unsigned char hc05_mode;
	switch (HC05_data) 
	{
		case 0: hc05_mode = 0;break;
		case 1: hc05_mode = 1;break;
		case 2: hc05_mode = 2;break;
		case 3: hc05_mode = 3;break;
	}
	return hc05_mode;
}

unsigned char color_mode(unsigned char HC05_data)
{ 
	unsigned char sum;
	if(HC05_data)
	{
		sum = HC05_data/16*10+HC05_data%16;//0x45
		HC05_send_date(sum);
	}
	return sum;
}
 
unsigned char light_mode(unsigned char HC05_data)
{ 
	unsigned char sum;
	if(HC05_data)
	{
		sum = HC05_data/16*10+HC05_data%16;//0x45
		HC05_send_date(sum);
	}
	return sum;
}	
